import busboy from "busboy";
import fs from "fs";
import path from "path";
import { dirname } from "path";
import { fileURLToPath } from "url";
//////////////////////////////////////////////////////////////////////////oss上传
// const OSS = require('ali-oss');
import OSS from 'ali-oss';


const client = new OSS({
  region: 'oss-cn-shenzhen',
  accessKeyId: 'LTAI5tJ1agEDGBbvDiQ65Cjh',
  accessKeySecret: 'XszgFC0GQ0eF9EFJXQsNBE446GFp8w',
  bucket: '8-134-153-121'
});

export default defineEventHandler(async (event: any) => {
  let body = await readBody(event)
  let { name, filebuf } = body
  const key = 'imgfile/' + Date.now()  + name; // 根据文件名获取扩展名
  // 将base64字符串转换回Buffer对象
  const buffer = Buffer.from(filebuf,'base64');
  console.log( name , 'name', key  , 'key',buffer, 'buffer');
  const result = await client.put(key, buffer);
  
  return {
      code: 2000,
      url: `http://8-134-153-121.oss-cn-shenzhen.aliyuncs.com/${key}`
  }
})






// ////////////////////////////////////////////////////////////////////////////////
// // 获取当前文件的URL，并转换为文件路径
// const __filename = fileURLToPath(import.meta.url);
// // 获取当前文件所在的目录
// const __dirname = dirname(__filename);

// // 构建你想要的路径
// const someFilePath = path.join(__dirname);
// // 使用 path.dirname 回退到上一级目录
// const parentDir = path.dirname(someFilePath); //回退上级
// const parentDir1 = path.dirname(parentDir); //回退上级
// console.log(parentDir1, "输出完整的文件路径"); // 输出完整的文件路径
// let tupianlujin= parentDir1 + "/assets/img";

// // 确保上传目录存在，如果不存在则创建它  
// if (!fs.existsSync(tupianlujin)) {  
//     fs.mkdirSync(tupianlujin, { recursive: true });  
//   }  
// export default defineEventHandler(async (event) => {
//   const { req } = event.node;
//   let imgname: string = "";


//   const b = busboy({ headers: req.headers });
//   type n = {
//     filename: string;
//     encoding: string;
//     mimeType: string;
//   };
//   b.on("file", (fieldname: any, file: any, filename: n) => {
//     imgname = filename.filename;
//     if (fieldname === "wangeditor-uploaded-image") {
//       const saveTo = path.join(tupianlujin, filename.filename);
//       const writeStream = fs.createWriteStream(saveTo);
//       file.pipe(writeStream);
//     }
//   });

//   b.on("finish", () => {
//     console.log("Upload completed!");
//     // 这里可以返回响应给客户端
//   });

//   req.pipe(b);

//   // 等待文件上传完成
//   await new Promise((resolve) => {
//     b.on("finish", resolve);
//   });
//   return {
//     errno: 0,
//     data: {
//       url: "http://localhost:3000/_nuxt/assets/img/" + imgname,
//     },
//   };
// });
